Echo canceller training in full duplex networks

ABSTRACT

In some embodiments, a method receives a first signal that is sent in a first direction in a network. Communications in the network are full duplex communications in a same frequency band. The first signal is amplified in the first direction. The method trains a first echo canceller to cancel a first echo signal from the first signal where the first echo signal is received in a second direction. After training the first echo canceller, the trained first echo canceller is enabled. The method receives a second signal in the second direction that is sent in the second direction in the network. The second signal is amplified in the second direction. The method trains a second echo canceller to cancel a second echo signal received in the first direction from the second signal where the first echo canceller cancels the first echo signal that is received in the second direction.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/940,662, entitled “ECHO CANCELLER TRAINING IN FULLDUPLEX NETWORKS,” filed Nov. 26, 2019, which application is herebyincorporated by reference herein.

BACKGROUND

A full duplex network allows downstream (DS) and upstream (US) signalsto be sent within a same frequency spectrum on a network. For example,full duplex Data Over Cable Service Interface Specification (DOCSIS)allows a multiple service operator (MSO) to offer symmetrical serviceswithin a frequency spectrum on the network, such as a hybrid fibercoaxial network, to modems. One characteristic of the network is that itis a single-point to multi-point network where multiple modems areconnected to a single node through the same network portion, alsoreferred to as the plant. The node transmits the downstream signals tothe multiple modems and also receives the upstream signals from themodems connected to the plant.

One of the requirements of a full duplex DOCSIS network was that thenetwork should be an N+0 architecture, which means the fiber node thatcontains the FDX-capable remote physical device (RPD) is followed onlyby passive equipment. That is, no amplifiers are placed between the nodeand the modems. However, when an N+0 architecture is used, it is verycostly because the number of subscribers that are serviced by a node inthe N+0 architecture is small. In contrast, using an amplifier inbetween the node and the modems in an N+1/N+2/N+x network (where x isthe maximum number of amplifiers in series subtending from the node)allows a node to service more subscribers and becomes more costefficient. When inserting an amplifier in between the node and thesubscribers, echo may result in both directions of the upstreamdirection and the downstream direction at the amplifier. That is,downstream signals may be coupled or reflected into the upstream pathand upstream signals may be coupled or reflected into the downstreampath. It may be hard to train the amplifier to cancel the upstream anddownstream interference simultaneously while simultaneously amplifyingthe downstream and the upstream signals.

BRIEF DESCRIPTION OF THE DRAWINGS

With respect to the discussion to follow and in particular to thedrawings, it is stressed that the particulars shown represent examplesfor purposes of illustrative discussion, and are presented in the causeof providing a description of principles and conceptual aspects of thepresent disclosure. In this regard, no attempt is made to showimplementation details beyond what is needed for a fundamentalunderstanding of the present disclosure. The discussion to follow, inconjunction with the drawings, makes apparent to those of skill in theart how embodiments in accordance with the present disclosure may bepracticed. Similar or same reference numbers may be used to identify orotherwise refer to similar or same elements in the various drawings andsupporting descriptions. In the accompanying drawings:

FIG. 1 depicts a simplified system for training and operating echocancellers according to some embodiments.

FIG. 2 depicts a frequency spectrum according to some embodiments.

FIG. 3 depicts a more detailed example of an amplifier according to someembodiments.

FIG. 4 depicts a simplified flowchart of a method for training echocancellers according to some embodiments.

FIG. 5A depicts a simplified flowchart of a method for training adownstream echo canceller according to some embodiments.

FIG. 5B depicts an example of the downstream echo cancellation trainingaccording to some embodiments.

FIG. 6A depicts a simplified flowchart of a method of training anupstream echo canceller according to some embodiments.

FIG. 6B shows an example of the upstream echo cancellation according tosome embodiments.

FIG. 7 illustrates an example of special purpose computer systemsaccording to some embodiments.

DETAILED DESCRIPTION

Described herein are techniques for an amplifier system. In thefollowing description, for purposes of explanation, numerous examplesand specific details are set forth in order to provide a thoroughunderstanding of some embodiments. Some embodiments as defined by theclaims may include some or all of the features in these examples aloneor in combination with other features described below, and may furtherinclude modifications and equivalents of the features and conceptsdescribed herein.

An amplifier in a full duplex network may receive upstream signals froma network device (e.g., a modem) that are destined for a node upstreamand receive downstream signals from a node that are destined for thenetwork device downstream. Both the downstream signals and the upstreamsignals may be sent in a same frequency band. The amplifier experiencesecho from both the upstream signal and the downstream signalsimultaneously because of the full duplex nature of the network. Thatis, downstream signals sent in a frequency range may cause echo inupstream signals sent in the same frequency range, and vice versa. Whenamplifying the downstream signal and the upstream signal simultaneously,the echo from the upstream signal and the downstream signal needs to becancelled. The amplifier may include a downstream echo canceller tocancel the echo from the downstream signal and an upstream echocanceller to cancel the echo from the upstream signal. In someembodiments, the downstream echo canceller may be trained to cancel thedownstream echo signal. After training the downstream echo canceller,then the upstream echo canceller may be trained while the traineddownstream echo canceller is enabled. The following will describe aprocess to train the downstream echo canceller and the upstream echocanceller.

System Overview

FIG. 1 depicts a simplified system 100 for training and operating echocancellers 110 according to some embodiments. A network in system 100includes a core 106, a node 108, taps 114-1 to 114-N, and networkdevices 112-1 to 112-N. Network devices 112 will be referred to asmodems, such as cable modems (CM), but other types of network devicesthat can send and receive signals may be used, such as gateways,customer premise equipment (CPE), set top boxes, etc. Cable modems 112are configured to receive data in the downstream direction from core106, and provide the data to a subscriber device, such as a set-top box,television, smart phone, etc. Also, cable modems 112 are configured toreceive data from a subscriber device and provide the data in theupstream direction to node 108. As such, cable modem 112 may be aninterface with the network outside of a subscriber's premises.

In some embodiments, the network provides data over a cable systemaccording to a protocol, such as the DOCSIS protocol. The network may bebased on different physical topologies, such as a hybrid fiber coaxialnetwork, but other networks may be used. In some embodiments, thenetwork may be a remote physical network (R-PHY) in which physicallayer-related circuitry is located in node 108, which is located closerto subscriber premises in the network than core 106. In someembodiments, a converged cable access platform (CCAP) core may belocated in a headend and node 108 may include a remote physical device(RPD) that interfaces between cable modems 112 and core 106.

Core 106 contains media access control (MAC) signaling functions. Core106 may send downstream signals through a digital network, such as afiber network to node 108. Node 108 may convert the digital signals toanalog signals and send those signals to cable modems 112-1 to 112-N.Node 108 may be an optical node device that may be located at thejunction of the fiber and coaxial plants. That is, node 108 may receivedigital signals via optical fiber, convert those signals to analog, suchas radio frequency, and send the analog signals via coaxial cable tocable modems 112. Also, node 108 converts upstream analog signals, suchas radio frequency signals, received over the coaxial cable from cablemodems 112, to digital signals for transmission over the fiber networkto core 106.

An amplifier 116 amplifies upstream signals from cable modems 112-1 to112-N and amplifies downstream signals from core 106 that are receivedvia node 108. Amplifier 116 may amplify the signals in the analog domainand the amplification may increase a magnitude of a signal. Amplifier116 may be located in between node 108 and taps 114. In addition toperforming the amplification, amplifier 116 includes upstream echocanceller 110-1 and a downstream echo canceller 110-2.

Upstream echo canceller 110-1 cancels an echo (referred to as upstreamecho signals) that results from transmitting the upstream signal anddownstream echo canceller 110-2 cancels the echo (referred to asdownstream echo signals) that results from transmitting a downstreamsignal. An echo signal may be a signal that reflects back in an oppositedirection when a signal is being sent by amplifier 116 to node 108 orcable modem 112. The following will describe different trainingprocesses such that upstream echo canceller 110-1 and downstream echocanceller 110-2 can be trained to cancel upstream echo signals anddownstream echo signals when used in a full duplex network.

Frequency Spectrum

The echo may occur in a full duplex network that transmits upstreamsignals and downstream signals in a same frequency spectrum. FIG. 2depicts a frequency spectrum 200 according to some embodiments.Frequency spectrum 200 may be a range of frequencies in which downstreamsignals are received at cable modems 112 and upstream signals are sentfrom cable modems 112. Frequency spectrum 200 may be broken intodifferent granularities of frequency ranges, such as sub-bands,channels, and sub-carriers. A sub-band may be a fixed portion ofspectrum. A channel may be a portion of electromagnetic spectrum withina sub-band that is used to convey one or more radio frequency signals. Asub-carrier may be one of a large number of closely-spaced oroverlapping orthogonal narrow-band width data signals within a channel,such as an Orthogonal Frequency Division Multiplexing (OFDM) channel.

In some embodiments, frequency spectrum 200 is broken into sub-bands206-1 to 206-3, which are a first division of the frequency spectrum(e.g., a range of frequencies). A different number of sub-bands may beused and the number is not limited to three sub-bands. A sub-band 206may be broken into channels. For example, a channel may include adownstream (DS) channels 202-1, 202-2, . . . 202-N in which downstreamsignals are sent. Also, a channel may include upstream (US) channels204-1 to 204-N in which upstream signals can be sent.

Each channel may be a second division of frequencies in frequencyspectrum 200. For example, each channel may have a frequency spectrumthat is equal to or less than the frequency spectrum of a sub-band. Asshown, a sub-band includes one downstream channel 202 and two upstreamchannels 204; however, a sub-band may include different numbers ofdownstream channels 202 and upstream channels 204. But, at least onedownstream channel and at least one upstream channel overlap infrequency in a sub-band 206. For example, downstream channel 202-1 is ina first frequency range in which downstream signals are sent from core106 to cable modems 112. In some embodiments, downstream channel 202-1uses the same frequency range as sub-band #1. Within downstream channel202-1, upstream channels 204-1 and 204-2 are used by cable modems 112 totransmit upstream signals to core 106. In some embodiments, upstreamchannels 204 may occupy different subsets of the frequency spectrum indownstream channel 202-2. For example, upstream channel 204-1 isincluded in a first subset of frequencies in sub-band #1 and upstreamchannel 204-2 is included in a second subset of frequencies in sub-band#1. However, other configurations may be used. For example, an upstreamchannel may have the same or less than the frequency spectrum of adownstream channel. In other examples, any number of upstream channels204 may be found in a downstream channel 202.

Frequency spectrum 200 may also be broken into other granularities, suchas sub-carrier frequencies. For example, downstream channel 202 andupstream channel 204 may be broken into sub-carriers that are of asmaller range frequency. The sub-carriers are used to carry a signal inthe upstream direction and the downstream direction. Accordingly,downstream channels 202 and upstream channels 204 may include multiplesub-carriers that are subsets of frequency spectrum 200 within therespective channel.

Amplifier

FIG. 3 depicts a more detailed example of amplifier 116 according tosome embodiments. Amplifier 116 includes couplers 302-1 and 302-2.Coupler 302-1 couples downstream signals from node 108 downstream andalso couples upstream signals to node 108. Coupler 302-2 couplesdownstream signals to taps 114-1 to 114-N and also cable modems 112-1 to112-N. Further, coupler 302-2 couples upstream signals from cable modems112-1 to 112-N upstream towards node 108. Couplers 302-1 and 302-2 maybe coupling signals in both the upstream direction and the downstreamdirection, which may result in echo in the respective oppositedirection.

Amplifier 116 includes an amplifier 314-1 that amplifies downstreamsignals and an amplifier 314-2 that amplifies upstream signals. In someembodiments, downstream amplifier 314-1 may be smaller than upstreamamplifier 314-2 in that upstream amplifier 314-2 may provide moreamplification of an upstream signal. However, amplifiers 314-1 and 314-2may amplify the downstream signal and the upstream signal, respectively,in different ways.

Amplifier 116 includes an upstream echo canceller block 304-1 and adownstream echo canceller block 304-2. Upstream echo canceller block304-1 may cancel an echo that results from an upstream signal being sentthrough amplifier 314-2, which is reflected back as an upstream echosignal in the downstream path. Downstream echo canceller block 304-2 maycancel echo that results from a downstream signal being sent throughamplifier 314-1, which is reflected back as a downstream echo signal inthe upstream path.

In operation, downstream echo canceller block 304-2 receives adownstream signal at digital-to-analog converter (DAC) 308.Digital-to-analog converter 308 may convert a downstream signal fromdigital to analog and send the analog signal to amplifier 314-1, whichamplifies the downstream signal. Coupler 302-2 receives the downstreamsignal in the same frequency band in which an upstream signal may bereceived from cable modems 112. The sending of the downstream signal mayreflect back and become a downstream echo signal in the upstreamdirection (e.g., at a similar frequency of the downstream signal in theupstream frequency band) to analog-to-digital converter 310. Thereflected downstream signal may corrupt upstream signals in thefrequency band and should be cancelled. For example, echo canceller110-2 is configured to cancel the downstream echo signal that resultsfrom the downstream signal being sent.

To cancel the downstream echo signal, echo canceller 110-2 receives areference signal from the downstream signal before digital to analogconverter 308 converts the signal to analog and also receives thedownstream echo signal that is reflected from the downstream signal.Echo canceller 110-2 can then cancel the downstream echo signal based onthe reference signal. For example, based on the characteristics of thedownstream signal, such as the magnitude and phase of the referencesignal, echo canceller 110-2 can attempt to remove the downstream echosignal from the upstream signal, such as by subtracting a magnitude andphase from the upstream signal that attempts to remove the downstreamecho signal from the upstream signal. As will be discussed in moredetail below, some embodiments train echo canceller 110-2 to be able touse the reference signal to cancel the downstream echo signal.

For the upstream echo signal, upstream echo canceller block 304-1receives an upstream signal at digital-to-analog converter 312, whichconverts a digital signal to analog and outputs the analog signal.Amplifier 314-2 amplifies the upstream signal and sends the upstreamsignal to coupler 302-1. The amplified upstream signal may then bereflected back into the downstream direction as an upstream echo signal.The downstream signal includes the upstream echo signal in a frequencyrange similar to the upstream signal. The frequency range of theupstream echo signal may corrupt the downstream signal.

Analog-to-digital converter 306 receives the downstream signal andconverts the analog signal to digital. Upstream echo canceller 110-1then cancels the upstream echo signal. For example, upstream echocanceller 110-1 receives a reference signal from the upstream signal anduses the reference signal to calculate a magnitude and a phase of theupstream echo signal. As with echo canceller 110-2, echo canceller 110-1is trained to use a reference signal to cancel a magnitude and a phaseof the upstream echo signal.

Because upstream signals and downstream signals may be sentsimultaneously in the same frequency ranges, processes to train bothecho canceller 110-1 and echo canceller 110-2 to cancel thesimultaneously sent signals are required. Because echo canceller 110-1and echo canceller 110-2 may be both operating, training each echocanceller 110-1 and echo canceller 110-2 may be hard because acorrelation between a reference signal and resulting echo signal isneeded to train one of the echo cancellers, and the operation of oneecho canceller may affect the training of the other. The following willdescribe the training of echo canceller 110-1 and echo canceller 110-2in more detail. The training may be performed for the entire frequencyband, different sub-bands, different channels, or selected portions ofthe frequency spectrum.

Echo Canceller Training

FIG. 4 depicts a simplified flowchart 400 of a method for training echocanceller 110-1 and echo canceller 110-2 according to some embodiments.It is noted that although downstream echo canceller 110-2 is trainedfirst in this method, variations may be appreciated, such as upstreamecho canceller 110-1 may be trained first.

The training of downstream echo canceller 110-2 will be described first.At 402, some embodiments adjust network settings to perform training fordownstream echo canceller 110-2. For example, core 106 may set cablemodems 112 to a first network setting to perform training of downstreamecho canceller 110-2, such as a network setting to restrict upstreamtransmissions from cable modems 112. As will be described in more detailbelow, node 108 may send upstream idle grants that schedule times inwhich cable modems 112 do not transmit upstream.

At 404, downstream echo canceller 110-2 is trained. The training processof downstream echo canceller 110-2 will be described in more detailbelow.

After training downstream echo canceller 110-2, at 406, network settingsto perform training of upstream echo canceller 110-1 are adjusted.Different network settings may be adjusted, such as switching modems 112to the upstream direction such that modems 112 do not receive downstreamtransmissions. Then, node 108 may schedule a known upstream pattern froma modem 112. In other examples, the network setting for limitingupstream signals from cable modems 112 may not be set, which allowsdownstream transmissions to occur during the training process. However,not adjusting the network settings to restrict downstream signals maycause the training process to take longer. This is because thedownstream signals may need to be averaged out over the training processto configure the echo cancellation. The presence of the downstreamsignals may affect the correlation between the reference signal and thereceived upstream echo signal.

At 408, upstream echo canceller 110-1 is trained while the traineddownstream echo canceller 110-2 is enabled. Because downstream echocanceller 110-2 is enabled, the downstream coupled echo is being removedin the upstream direction. This allows upstream echo canceller 110-1 tobe trained accurately and faster because the downstream echo signal isnot present in the reference signal that is received at upstream echocanceller 110-1. The presence of the downstream echo signal may affectthe correlation between the reference signal and the resulting upstreamecho signal. Accordingly, training the downstream echo canceller firstallows the upstream transmissions on the modems to be idled, whichallows the correct training of the downstream echo canceller. It may beharder to idle the downstream signals if the upstream echo canceller wastrained first.]

After training upstream echo canceller 110-1 and downstream echocanceller 110-2, at 410, amplifier 116 may be put into an operationalmode to process both upstream and downstream signals with both upstreamecho canceller 110-1 and downstream echo canceller 110-2 enabled.Upstream echo canceller 110-1 cancels an upstream echo signal anddownstream echo canceller 110-2 cancels a downstream echo signalsimultaneously in some embodiments.

The following will describe the training process in more detail.

Training of Downstream Echo Canceller

FIG. 5A depicts a simplified flowchart 500 of a method for trainingdownstream echo canceller 110-2 according to some embodiments. At 502,it is determined whether to schedule upstream idle grants. For example,node 108 may determine whether or not to schedule upstream idle grantsto cable modems 112. The upstream idle grants may be quiet times inwhich upstream signals are not sent by cable modems 112. Idle grantsallow amplifier 116 to minimize the effect of upstream echo signalsbecause echo canceller 110-1 has not been trained yet and may notproperly cancel upstream echo signals.

If it is determined the idle grants should be scheduled, at 504, node108 schedules idle grants to cable modems 112. Then, amplifier 116receives a downstream signal, which may be an analog signal that is sentfrom node 108. Analog-to-digital converter 306 converts the analogsignal to digital. In some embodiments, because the idle grants havebeen sent, cable modems 112 are not transmitting upstream and upstreamecho signals may not be present in the downstream direction. Then, at506, downstream echo canceller block 304-2 receives and samples thedownstream signal.

The downstream signal is then amplified at amplifier 314-1 and adownstream echo signal is reflected back into the upstream and receivedat analog-to-digital converter 310. Analog-to-digital converter 310converts the analog signal to a digital signal. At 508, echo canceller110-2 measures the upstream signal. Because upstream signals are notbeing sent by cable modems 112, the magnitude and phase of the upstreamsignal received at echo canceller 110-2 may be based on the downstreamecho signal.

At 510, echo canceller 110-2 is trained based on the sampled downstreamsignal and the measured upstream signal. For example, echo canceller110-2 can compare the samples downstream signal to the measured upstreamsignal and determine the downstream echo signal that results from thesampled downstream signal. This correlation allows downstream echocanceller 110-2 to receive a downstream signal and cancel the magnitudeand phase of a predicted downstream echo signal that may result. Theabove process may be performed over a period of time in which thedownstream signal is sampled and the upstream signal is measured at echocanceller 110-2. Eventually, the characteristics of the downstreamsignal can be used to predict the downstream echo signal that needs tobe cancelled.

If upstream idle grants are not scheduled, at 512, downstream echocanceller block 304-2 receives and samples the downstream signal. At514, downstream echo canceller block 304-2 receives an upstream signalfrom cable modems 112. The upstream signal from cable modems 112 may bein a same frequency range to the downstream signal that may be combinedwith the downstream echo signal. At 516, downstream echo canceller 110-2measures the upstream signal. As discussed above, this upstream signalincludes the upstream signal from cable modems 112 in addition to thedownstream echo signal. At 518, echo canceller 110-2 averages out thereceived upstream signal from cable modems 112. This process may take aperiod of time to determine the characteristics of the upstream signalfrom cable modems 112 to average out. For example, over time, anaveraged upstream signal that is being received from cable modems 112may be determined. By averaging out the upstream signal from cablemodems 112, echo canceller 110-2 can correlate the received downstreamsignal with the downstream echo signal. Accordingly, at 520, downstreamecho canceller 110-2 is trained based on the sampled downstream signaland the measured upstream signal with the averaged out upstream signalfrom cable modems 112 removed. This training is the similar to theprocess as described above at 510 because the averaged out upstreamsignal from cable modems 112 is removed from the upstream signal.Because determining an average of the magnitude and the phase ofupstream signal from cable modems 112 may take a period of time, thetraining without scheduling the upstream idle grants may take a longerperiod of time compared to when upstream idle grants are not scheduled.

FIG. 5B depicts an example of the downstream echo cancellation trainingaccording to some embodiments. At 552, the downstream signal is sampledin downstream echo canceller block 304-2. At 554, the downstream signalis sent downstream, but a downstream echo signal results and flows inthe upstream direction. At 556, echo canceller 110-2 receives theupstream signal. Additionally, at 558, echo canceller 110-2 receives thedownstream signal that was received at downstream echo canceller block304-2. As discussed above, echo canceller 110-2 can cancel thedownstream echo signal received at 556 based on the characteristics ofthe downstream signal received at 558.

Upstream Echo Cancellation

After performing training of downstream echo canceller 110-2, trainingof upstream echo canceller 110-1 may be performed. FIG. 6A depicts asimplified flowchart 600 of a method of training upstream echo canceller110-1 according to some embodiments. At 602, core 106 may switch cablemodems 112 to the upstream direction. For example, core 106 (via node108) may send a resource block assignment (RBA) message that specifiesthe direction of transmission as the upstream direction to cable modems112. The resource block assignment message may assign blocks for cablemodems 112 to transmit upstream instead of receiving downstreamtransmissions. During these block assignments, cable modems 112 areconfigured to transmit upstream. The resource block assignment messagesmay be sent to cable modems 112 that are connected to amplifier 116 andmay be regardless of interference groups or transmission groups. Thatis, if cable modems 112 were in a different interference group, cablemodems not in the same interference group could transmit in the upstreamand downstream directions simultaneously because their signals do notinterfere. In this example, core 106 schedules cable modems 112 to onlytransmit upstream, which restricts the downstream transmission to cablemodems 112. That is, core 106 does not transmit downstream data to cablemodems 112 when the resource block assignments are made.

Different methods of training upstream echo canceller 110-1 may be used.For example, a known upstream transmission may be used or not used. At604, it is determined whether to schedule a known upstream transmission.

If a known transmission is not scheduled, at 606, downstream echocanceller 110-2 is enabled. Downstream echo canceller 110-2 has beenenabled to remove downstream echo signals as trained. At 608, upstreamecho canceller block 304-1 measures and samples the upstream signal.This signal is used as a reference to upstream echo canceller 110-1. At610, upstream echo canceller 110-1 receives and measures the downstreamsignal. The downstream signal may include the upstream echo signal. At612, echo canceller 110-1 may average out the received downstream signalfrom node 108. Downstream transmissions may have been stopped, butenergy in the downstream direction may be received from node 108 as ittransmits to other RF Legs. Upstream echo canceller 110-1 can determinethe amount of downstream energy that exists in the downstream directionover time and average the downstream energy out when performing thetraining. Since the upstream signals (and upstream echoes) areuncorrelated with the downstream signal, estimating the coefficients ofthe upstream echo canceller can occur over a long period of time. Sincethe upstream signal will continue to exist during the training (cannotschedule idle downstream grants), the estimate may be noisy. However, ifthe estimator is running for a long enough time, the effect of thedownstream echo will go away and the coefficients will converge(slowly). This will happen, again, because the downstream signal isuncorrelated with the upstream signal. In other embodiments, theupstream signal sends the same signal pattern over and over again andeach copy of that repeated pattern as a unique upstream transmission of(ideally) the same waveform. Assume that N repeated patterns of thatwaveform are sent. The upstream echo comes back from these N repeatedpatterns mixed with downstream signals. If the N downstream signals arecaptured, they can be added together, and then the resultant signal isdivided by N. This results in an average of the downstream signals. If Nis large enough, the downstream signals should have random positiveadditions and random negative additions that roughly cancel out due tothe action of the N additions. So the average result “cancels out” thedownstream signals. This may require that the downstream echo cancellerwould have been already trained before the upstream echo canceller (topermit the repeated upstream signal patterns to arrive withoutcorruption from the downstream echoes. Accordingly, at 614, upstreamecho canceller 110-1 is trained based on a sample of the upstream signaland the measured downstream signal without the downstream energy that isreceived from node 108 present.

If a known pattern is to be scheduled, at 616, a cable modem 112 mayschedule a known upstream pattern. The known upstream pattern mayinclude known characteristics for the upstream signal.

At 618, downstream echo canceller 110-2 is enabled. In this case, anydownstream echo signal is cancelled as trained at downstream echocanceller 110-2. Although the resource block assignment messagerestricted downstream data transmissions to cable modems 112, energy maystill be found on the downstream direction. Downstream echo canceller110-2 may cancel the echo that results from the downstream energy. Thisresults in an upstream signal that is received at upstream echocanceller block 304-1 that does not include any downstream echo signal.

At 620, upstream echo canceller 110-1 measures the downstream signal.For example, the upstream signal may be amplified by amplifier 314-2 andis coupled into the downstream direction to upstream echo canceller110-1. At 622, echo canceller 110-1 may average out the receiveddownstream signal from node 108. Because the upstream pattern is known,echo canceller 110-1 can determine the received downstream signal bysubtracting the known pattern. At 624, upstream echo canceller 110-1 istrained based on a known pattern of the upstream signal and the measureddownstream signal without the downstream energy that is received fromnode 108 present.

Because the upstream pattern is known and can be used to remove anydownstream echo signal, and downstream echo canceller 110-2 cancels anydownstream echo that may be occurring, the training of upstream echocanceller 110-1 may be relatively quick. That is, a known upstreampattern is received and the corresponding upstream echo signal isreceived at echo canceller 110-1. Echo canceller 110-1 can perform thecorrelation between the known upstream pattern and the correspondingupstream echo signal. After a period of time and multiple measurements,echo canceller 110-1 can be trained to determine the amount of echocancellation needed for an upstream signal that is received as areference.

FIG. 6B shows an example of the upstream echo cancellation according tosome embodiments. At 650, upstream echo canceller block 304-1 receivesthe upstream signal. Amplifier 314-2 then amplifies the upstream signal.At 652, the upstream signal is coupled to the downstream direction asthe upstream echo signal.

At 654, echo canceller 110-1 receives the upstream echo signal. At 656,echo canceller 110-1 also receives the original upstream transmissionthat is used as a reference. Upstream echo canceller 110-1 can thendetermine the correlation between the upstream signal received at 656and the upstream echo signal received at 654. Echo canceller 110-1 mayaverage out any downstream signal that is received from node 108 whenperforming the training.

Although the training described above trains downstream echo canceller110-2 first, and then upstream echo canceller 110-1 next (withdownstream echo canceller 110-2 enabled), it is possible to trainupstream echo canceller 110-1 first, and then downstream echo canceller110-2 second. When training upstream echo canceller 110-1 first, theupstream echo canceller 110-1 is trained to cancel the upstream echosignal based on the sampled upstream signal that is received at upstreamecho canceller block 304-1. There may be some energy that exists in thedownstream direction, but echo canceller 110-1 can average out thedownstream energy that results. However, training downstream echocanceller 110-2 first, and then upstream echo canceller 110-1 next maybe more efficient.

Conclusion

Accordingly, echo cancellation for amplifier 116 is provided in a waysuch that echo cancellers in both the downstream direction and theupstream direction can be trained when upstream echo and downstream echosignals result.

Embodiments

In some embodiments, a method comprising: receiving, by a computingdevice, a first signal that is sent in a first direction in a network,wherein communications in the network are full duplex communications ina same frequency band; amplifying, by the computing device, the firstsignal in the first direction; training, by the computing device, afirst echo canceller to cancel a first echo signal from the firstsignal, wherein the first echo signal is received in a second direction;after training the first echo canceller, enabling, by the computingdevice, the trained first echo canceller; receiving, by the computingdevice, a second signal in the second direction that is sent in thesecond direction in the network; amplifying, by the computing device,the second signal in the second direction; and training, by thecomputing device, a second echo canceller to cancel a second echo signalreceived in the first direction from the second signal, wherein thefirst echo canceller cancels the first echo signal that is received inthe second direction.

In some embodiments, the first direction is a downstream directiontowards a network device, and the second direction is an upstreamdirection towards a node, wherein the first signal is received from thenode for the network device, and the second signal is received from thenetwork device for the node.

In some embodiments, training the first echo canceller to cancel thefirst echo signal from the first signal comprises: forwarding upstreamidle grants to one or more network devices to limit upstreamtransmissions from the one or more network devices.

In some embodiments, training the first echo canceller to cancel thefirst echo signal from the first signal comprises: receiving the firstsignal; receiving the first echo signal; and training the first echocanceller based on characteristics of the first signal and the firstecho signal.

In some embodiments, training the first echo canceller based on thecharacteristics of the first signal and the first echo signal comprises:correlating a magnitude or a phase of the first signal to the first echosignal.

In some embodiments, training the first echo canceller based on thecharacteristics of the first signal and the first echo signal comprises:removing any of the second echo signal that results from receiving thesecond signal.

In some embodiments, training the second echo canceller to cancel thesecond echo signal received in the first direction from the secondsignal comprises: forwarding messages to configure one or more networkdevices to transmit in the second direction.

In some embodiments, training the second echo canceller to cancel thesecond echo signal received in the first direction from the secondsignal comprises: enabling the trained first echo canceller to cancelthe first echo signal while training the second echo canceller.

In some embodiments, the first echo canceller cancels the first echosignal that results from downstream energy while training the secondecho canceller.

In some embodiments, training the second echo canceller to cancel thesecond echo signal received in the first direction from the secondsignal comprises: receiving the second signal; receiving the second echosignal; and training the second echo canceller based on characteristicsof the second signal and the second echo signal.

In some embodiments, training the second echo canceller based on thecharacteristics of the second signal and the second echo signalcomprises: correlating a magnitude or a phase of the second signal tothe second echo signal.

In some embodiments, training the second echo canceller based on thecharacteristics of the second signal and the second echo signalcomprises: removing a portion of the first echo signal that results fromreceiving the first signal.

In some embodiments, characteristics of the second signal are a knownsignal that is transmitted by a network device and are used to remove aportion of the first echo signal.

In some embodiments, characteristics of the second signal are sampledfrom a transmission by a network device.

In some embodiments, a non-transitory computer-readable storage mediumcontaining instructions that, when executed, control a computer systemto be operable for: receiving a first signal that is sent in a firstdirection in a network, wherein communications in the network are fullduplex communications in a same frequency band; amplifying the firstsignal in the first direction; training a first echo canceller to cancela first echo signal from the first signal, wherein the first echo signalis received in a second direction; after training the first echocanceller, enabling the trained first echo canceller; receiving a secondsignal in the second direction that is sent in the second direction inthe network; amplifying the second signal in the second direction; andtraining a second echo canceller to cancel a second echo signal receivedin the first direction from the second signal, wherein the first echocanceller cancels the first echo signal that is received in the seconddirection.

In some embodiments, the first direction is a downstream directiontowards a network device, and the second direction is an upstreamdirection towards a node, wherein the first signal is received from thenode for the network device, and the second signal is received from thenetwork device for the node.

In some embodiments, training the first echo canceller to cancel thefirst echo signal from the first signal comprises: forwarding upstreamidle grants to one or more network devices to limit upstreamtransmissions from the one or more network devices.

In some embodiments, training the first echo canceller to cancel thefirst echo signal from the first signal comprises: receiving the firstsignal; receiving the first echo signal; and training the first echocanceller based on characteristics of the first signal and the firstecho signal.

In some embodiments, training the second echo canceller to cancel thesecond echo signal received in the first direction from the secondsignal comprises: forwarding messages to configure one or more networkdevices to transmit in the second direction.

In some embodiments, an apparatus comprising: one or more computerprocessors; and a non-transitory computer-readable storage mediumcomprising instructions, that when executed, control the one or morecomputer processors to be operable for: receiving a first signal that issent in a first direction in a network, wherein communications in thenetwork are full duplex communications in a same frequency band;amplifying the first signal in the first direction; training a firstecho canceller to cancel a first echo signal from the first signal,wherein the first echo signal is received in a second direction; aftertraining the first echo canceller, enabling the trained first echocanceller; receiving a second signal in the second direction that issent in the second direction in the network; amplifying the secondsignal in the second direction; and training a second echo canceller tocancel a second echo signal received in the first direction from thesecond signal, wherein the first echo canceller cancels the first echosignal that is received in the second direction.

System

FIG. 7 illustrates an example of special purpose computer systems 700according to some embodiments. Computer system 700 includes a bus 702,network interface 704, a computer processor 706, a memory 708, a storagedevice 710, and a display 712.

Bus 702 may be a communication mechanism for communicating information.

Computer processor 706 may execute computer programs stored in memory708 or storage device 710. Any suitable programming language can be usedto implement the routines of some embodiments including C, C++, Java,assembly language, etc. Different programming techniques can be employedsuch as procedural or object oriented. The routines can execute on asingle computer system 700 or multiple computer systems 700. Further,multiple computer processors 706 may be used.

Memory 708 may store instructions, such as source code or binary code,for performing the techniques described above. Memory 708 may also beused for storing variables or other intermediate information duringexecution of instructions to be executed by processor 706. Examples ofmemory 708 include random access memory (RAM), read only memory (ROM),or both.

Storage device 710 may also store instructions, such as source code orbinary code, for performing the techniques described above. Storagedevice 710 may additionally store data used and manipulated by computerprocessor 706. For example, storage device X10 may be a database that isaccessed by computer system X00. Other examples of storage device X10include random access memory (RAM), read only memory (ROM), a harddrive, a magnetic disk, an optical disk, a CD-ROM, a DVD, a flashmemory, a USB memory card, or any other medium from which a computer canread.

Memory 708 or storage device 710 may be an example of a non-transitorycomputer-readable storage medium for use by or in connection withcomputer system 700. The non-transitory computer-readable storage mediumcontains instructions for controlling a computer system 700 to beconfigured to perform functions described by some embodiments. Theinstructions, when executed by one or more computer processors 706, maybe configured to perform that which is described in some embodiments.

Computer system 700 includes a display 712 for displaying information toa computer user. Display 712 may display a user interface used by a userto interact with computer system 700.

Computer system 700 also includes a network interface 704 to providedata communication connection over a network, such as a local areanetwork (LAN) or wide area network (WAN). Wireless networks may also beused. In any such implementation, network interface 704 sends andreceives electrical, electromagnetic, or optical signals that carrydigital data streams representing various types of information.

Computer system 700 can send and receive information through networkinterface 704 across a network 714, which may be an Intranet or theInternet. Computer system 700 may interact with other computer systems700 through network 714. In some examples, client-server communicationsoccur through network 714. Also, implementations of some embodiments maybe distributed across computer systems 700 through network 714.

Some embodiments may be implemented in a non-transitorycomputer-readable storage medium for use by or in connection with theinstruction execution system, apparatus, system, or machine. Thecomputer-readable storage medium contains instructions for controlling acomputer system to perform a method described by some embodiments. Thecomputer system may include one or more computing devices. Theinstructions, when executed by one or more computer processors, may beconfigured to perform that which is described in some embodiments.

As used in the description herein and throughout the claims that follow,“a”, “an”, and “the” includes plural references unless the contextclearly dictates otherwise. Also, as used in the description herein andthroughout the claims that follow, the meaning of “in” includes “in” and“on” unless the context clearly dictates otherwise.

The above description illustrates various embodiments along withexamples of how aspects of some embodiments may be implemented. Theabove examples and embodiments should not be deemed to be the onlyembodiments, and are presented to illustrate the flexibility andadvantages of some embodiments as defined by the following claims. Basedon the above disclosure and the following claims, other arrangements,embodiments, implementations and equivalents may be employed withoutdeparting from the scope hereof as defined by the claims.

What is claimed is:
 1. A method comprising: receiving, by a computingdevice, a first signal that is sent in a first direction in a network,wherein communications in the network are full duplex communications ina same frequency band; amplifying, by the computing device, the firstsignal in the first direction; training, by the computing device, afirst echo canceller to cancel a first echo signal from the firstsignal, wherein the first echo signal is received in a second direction;after training the first echo canceller, enabling, by the computingdevice, the trained first echo canceller; receiving, by the computingdevice, a second signal in the second direction that is sent in thesecond direction in the network; amplifying, by the computing device,the second signal in the second direction; and training, by thecomputing device, a second echo canceller to cancel a second echo signalreceived in the first direction from the second signal, wherein thefirst echo canceller cancels the first echo signal that is received inthe second direction.
 2. The method of claim 1, wherein: the firstdirection is a downstream direction towards a network device, and thesecond direction is an upstream direction towards a node, wherein thefirst signal is received from the node for the network device, and thesecond signal is received from the network device for the node.
 3. Themethod of claim 1, wherein training the first echo canceller to cancelthe first echo signal from the first signal comprises: forwardingupstream idle grants to one or more network devices to limit upstreamtransmissions from the one or more network devices.
 4. The method ofclaim 1, wherein training the first echo canceller to cancel the firstecho signal from the first signal comprises: receiving the first signal;receiving the first echo signal; and training the first echo cancellerbased on characteristics of the first signal and the first echo signal.5. The method of claim 4, wherein training the first echo cancellerbased on the characteristics of the first signal and the first echosignal comprises: correlating a magnitude or a phase of the first signalto the first echo signal.
 6. The method of claim 4, wherein training thefirst echo canceller based on the characteristics of the first signaland the first echo signal comprises: removing any of the second echosignal that results from receiving the second signal.
 7. The method ofclaim 1, wherein training the second echo canceller to cancel the secondecho signal received in the first direction from the second signalcomprises: forwarding messages to configure one or more network devicesto transmit in the second direction.
 8. The method of claim 1, whereintraining the second echo canceller to cancel the second echo signalreceived in the first direction from the second signal comprises:enabling the trained first echo canceller to cancel the first echosignal while training the second echo canceller.
 9. The method of claim8, wherein the first echo canceller cancels the first echo signal thatresults from downstream energy while training the second echo canceller.10. The method of claim 1, wherein training the second echo canceller tocancel the second echo signal received in the first direction from thesecond signal comprises: receiving the second signal; receiving thesecond echo signal; and training the second echo canceller based oncharacteristics of the second signal and the second echo signal.
 11. Themethod of claim 10, wherein training the second echo canceller based onthe characteristics of the second signal and the second echo signalcomprises: correlating a magnitude or a phase of the second signal tothe second echo signal.
 12. The method of claim 10, wherein training thesecond echo canceller based on the characteristics of the second signaland the second echo signal comprises: removing a portion of the firstecho signal that results from receiving the first signal.
 13. The methodof claim 10, wherein characteristics of the second signal are a knownsignal that is transmitted by a network device and are used to remove aportion of the first echo signal.
 14. The method of claim 10, whereincharacteristics of the second signal are sampled from a transmission bya network device.
 15. A non-transitory computer-readable storage mediumcontaining instructions that, when executed, control a computer systemto be operable for: receiving a first signal that is sent in a firstdirection in a network, wherein communications in the network are fullduplex communications in a same frequency band; amplifying the firstsignal in the first direction; training a first echo canceller to cancela first echo signal from the first signal, wherein the first echo signalis received in a second direction; after training the first echocanceller, enabling the trained first echo canceller; receiving a secondsignal in the second direction that is sent in the second direction inthe network; amplifying the second signal in the second direction; andtraining a second echo canceller to cancel a second echo signal receivedin the first direction from the second signal, wherein the first echocanceller cancels the first echo signal that is received in the seconddirection.
 16. The non-transitory computer-readable storage medium ofclaim 15, wherein: the first direction is a downstream direction towardsa network device, and the second direction is an upstream directiontowards a node, wherein the first signal is received from the node forthe network device, and the second signal is received from the networkdevice for the node.
 17. The non-transitory computer-readable storagemedium of claim 15, wherein training the first echo canceller to cancelthe first echo signal from the first signal comprises: forwardingupstream idle grants to one or more network devices to limit upstreamtransmissions from the one or more network devices.
 18. Thenon-transitory computer-readable storage medium of claim 15, whereintraining the first echo canceller to cancel the first echo signal fromthe first signal comprises: receiving the first signal; receiving thefirst echo signal; and training the first echo canceller based oncharacteristics of the first signal and the first echo signal.
 19. Thenon-transitory computer-readable storage medium of claim 15, whereintraining the second echo canceller to cancel the second echo signalreceived in the first direction from the second signal comprises:forwarding messages to configure one or more network devices to transmitin the second direction.
 20. An apparatus comprising: one or morecomputer processors; and a non-transitory computer-readable storagemedium comprising instructions, that when executed, control the one ormore computer processors to be operable for: receiving a first signalthat is sent in a first direction in a network, wherein communicationsin the network are full duplex communications in a same frequency band;amplifying the first signal in the first direction; training a firstecho canceller to cancel a first echo signal from the first signal,wherein the first echo signal is received in a second direction; aftertraining the first echo canceller, enabling the trained first echocanceller; receiving a second signal in the second direction that issent in the second direction in the network; amplifying the secondsignal in the second direction; and training a second echo canceller tocancel a second echo signal received in the first direction from thesecond signal, wherein the first echo canceller cancels the first echosignal that is received in the second direction.